MicroTonic Script Collection #1
===============================

 This is the first official script collection for MicroTonic version 3, released on May 18th 2011. All scripts are
written by Magnus Lidstrm. They are released as public domain. You may (and are encouraged) to modify them as you wish.

 If you are interested in modifying or developing new scripts there is documentation available on the Sonic Charge user
forum at http://soniccharge.com/forum

Windows Installation Procedure
------------------------------

 Place the entire contents of this package into a folder with the name `MicroTonic Scripts` in the same directory as
the MicroTonic VST plug-in files. E.g. `C:\Program Files\VSTPlugIns\SonicCharge\MicroTonic Scripts`.

Mac Installation Procedure
--------------------------

 Create the folder `/Library/Application Support/Sonic Charge/MicroTonic Scripts` and place the entire contents of this
package into the folder.

Script Descriptions
===================

 (The following descriptions are taken from the header comments in the source files.)

Auto Sort Drum Channels
-----------------------

 Classifies the drum patches in the current preset using some magic neural network algorithms and then reorders the
channels so that the bass drum typically lands on channel 1, the snare drum on channel 5 etc. Muted channels will be
ignored.

 Notice that although the neural networks are built on statistics from thousands of drum patches, they sometimes make
horrible mistakes. You have to be a little understanding.

 One reason for sorting presets with this script is to get a more consistent mapping of MIDI notes to drum sounds.
Another reason is that the morph feature and loading of only patches / patterns may work better if the channel layouts
of the different presets correlate.

 You may wish to modify the RENAME_PATCHES, MARK_UNCERTAINS and ADD_INITIALS constants.

CC to All Channels
------------------

 Copies the CC assignments for the currently selected channel to all (unmuted) channels, so that you can easily take
control over all channels from your MIDI controller. Sort of similar to the "Edit All" button in the GUI.

Export Drum Patches
-------------------

 Iterates all .mtpreset files from a chosen directory and exports all their drum patches (as .mtdrum files) to another
chosen directory. Useful for expanding your drum patch library with patches from Patternarium presets.

Extend Pattern
--------------

 Extends the current pattern to 16 steps through repetition (only works if pattern is < 16 steps).

Generate Scale
--------------

 Copies the drum patch of the current drum channel to all eight channels and transposes each channel according to a
user-supplied list of semitones. This allows you to create melodic sequences with the MicroTonic pattern engine.

Half Tempo
----------

 Stretches the pattern group so that it will play at half tempo (with exception of swing and fills).

Make Transposable
-----------------

 Copies the currently active program to all 16 programs in MicroTonic, transposes them and configures MIDI so that you
can play the transposed programs in a scale starting at A2 going up to C4.

Note Variations
---------------

 Replicates the currently selected drum channel on all muted channels and then mutates them by a selectable amount.
The pattern triggers are then distributed randomly between the mutated channels, thus creating random note variations
within a beat.

Pick New Patches
----------------

 Replaces the drum patches for all drum channels (that aren't muted) with randomly picked factory patches from the
installed patch packages. Each patch will be replaced by a patch of the same category, as determined by the patch
name.

 E.g. a BD patch will be replaced by a new random BD patch and an SD patch will be replaced with another SD
patch. If the category cannot be determined (i.e. the patch name doesn't contain a known category prefix), the patch
is left untouched.

 One suggestion is to run the `Auto Sort Drum Channels` script to automatically categorize the drum sounds before
executing this script.

Random Morph
------------

 This script copies the current preset to the left morph edge and randomizes the right edge. You can now slowly morph
from left to right to find a new preset and then run the script again.

Suggest Preset Name
-------------------

 Generates a random preset name using a statistical algorithm based on character sequences from an English dictionary.
